import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { join } from 'path';
import { NestExpressApplication } from '@nestjs/platform-express';
import * as bodyParser from 'body-parser';

async function bootstrap() {
  // const app = await NestFactory.create(AppModule); // 默认
  const app = await NestFactory.create<NestExpressApplication>(AppModule);

  // 添加/api前缀，所有接口都会自动带上这个前缀
  app.setGlobalPrefix('api');

  // 重点：同时设置 json 和 urlencoded 的限制(上传接口文件大小限制提升到10MB)
  app.use(bodyParser.json({ limit: '10mb' }));
  app.use(bodyParser.urlencoded({ limit: '10mb', extended: true }));

  // 配置静态文件目录
  app.useStaticAssets(join(__dirname, '..', 'uploads'), {
    prefix: '/uploads', // 访问路径前缀
  });

  app.enableCors();  // 允许所有跨域请求（生产环境应配置具体域名）
  await app.listen(process.env.PORT ?? 3000);
}
bootstrap();
